home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 11 / AMUG BBS in a Box Volume XI (April 1994) (MacWizards).iso / Files / Prog / T / TIFF Code.sit / image.c < prev    next >
MacBinary  |  1987-12-16  |  8.0 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: image.c

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Wed Dec 16 11:51:53 1987, modified Wed Dec 16 11:51:53 1987, creator 'MPS ', type ASCII, 7321 bytes "image.c" , at 0x1d19 516 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 07 69 6d 61 67 65 2e | 63 00 00 00 00 00 00 00 |..image.|c.......|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 00 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 1c 99 00 | 00 02 04 9d ec 6a a9 9d |........|.....j..|
|00000060| ec 6a a9 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.j......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 5e 70 00 00 |........|....^p..|
|00000080| 2f 2a 20 53 74 61 6e 64 | 61 72 64 20 43 20 49 6e |/* Stand|ard C In|
|00000090| 63 6c 75 64 65 20 66 69 | 6c 65 73 20 2a 2f 0d 2f |clude fi|les */./|
|000000a0| 2a 20 23 69 6e 63 6c 75 | 64 65 20 22 43 54 79 70 |* #inclu|de "CTyp|
|000000b0| 65 2e 68 22 20 2a 2f 0d | 2f 2a 20 23 69 6e 63 6c |e.h" */.|/* #incl|
|000000c0| 75 64 65 20 22 45 72 72 | 4e 6f 2e 68 22 20 2a 2f |ude "Err|No.h" */|
|000000d0| 0d 2f 2a 20 23 69 6e 63 | 6c 75 64 65 20 22 46 43 |./* #inc|lude "FC|
|000000e0| 6e 74 6c 2e 68 22 20 2a | 2f 0d 2f 2a 20 23 69 6e |ntl.h" *|/./* #in|
|000000f0| 63 6c 75 64 65 20 22 49 | 4f 43 74 6c 2e 68 22 20 |clude "I|OCtl.h" |
|00000100| 2a 2f 0d 2f 2a 20 23 69 | 6e 63 6c 75 64 65 20 22 |*/./* #i|nclude "|
|00000110| 4d 61 74 68 2e 68 22 20 | 2a 2f 0d 2f 2a 20 23 69 |Math.h" |*/./* #i|
|00000120| 6e 63 6c 75 64 65 20 22 | 53 65 74 4a 6d 70 2e 68 |nclude "|SetJmp.h|
|00000130| 22 20 2a 2f 0d 2f 2a 20 | 23 69 6e 63 6c 75 64 65 |" */./* |#include|
|00000140| 20 22 53 69 67 6e 61 6c | 2e 68 22 20 2a 2f 0d 2f | "Signal|.h" */./|
|00000150| 2a 20 23 69 6e 63 6c 75 | 64 65 20 22 53 74 64 49 |* #inclu|de "StdI|
|00000160| 4f 2e 68 22 20 2a 2f 0d | 2f 2a 20 23 69 6e 63 6c |O.h" */.|/* #incl|
|00000170| 75 64 65 20 22 53 74 72 | 69 6e 67 2e 68 22 20 2a |ude "Str|ing.h" *|
|00000180| 2f 0d 0d 2f 2a 20 50 72 | 69 6d 61 72 79 20 49 6e |/../* Pr|imary In|
|00000190| 74 65 72 66 61 63 65 20 | 46 69 6c 65 73 20 2a 2f |terface |Files */|
|000001a0| 0d 23 69 6e 63 6c 75 64 | 65 20 22 54 79 70 65 73 |.#includ|e "Types|
|000001b0| 2e 68 22 0d 23 69 6e 63 | 6c 75 64 65 20 22 52 65 |.h".#inc|lude "Re|
|000001c0| 73 6f 75 72 63 65 73 2e | 68 22 0d 23 69 6e 63 6c |sources.|h".#incl|
|000001d0| 75 64 65 20 22 51 75 69 | 63 6b 64 72 61 77 2e 68 |ude "Qui|ckdraw.h|
|000001e0| 22 0d 23 69 6e 63 6c 75 | 64 65 20 22 57 69 6e 64 |".#inclu|de "Wind|
|000001f0| 6f 77 73 2e 68 22 0d 2f | 2a 20 23 69 6e 63 6c 75 |ows.h"./|* #inclu|
|00000200| 64 65 20 22 4f 53 55 74 | 69 6c 73 2e 68 22 20 2a |de "OSUt|ils.h" *|
|00000210| 2f 0d 0d 2f 2a 20 43 6f | 6d 6d 6f 6e 6c 79 20 49 |/../* Co|mmonly I|
|00000220| 6e 63 6c 75 64 65 64 20 | 66 69 6c 65 73 20 2a 2f |ncluded |files */|
|00000230| 0d 2f 2a 20 23 69 6e 63 | 6c 75 64 65 20 22 54 6f |./* #inc|lude "To|
|00000240| 6f 6c 55 74 69 6c 73 2e | 68 22 20 2a 2f 0d 23 69 |olUtils.|h" */.#i|
|00000250| 6e 63 6c 75 64 65 20 22 | 54 65 78 74 45 64 69 74 |nclude "|TextEdit|
|00000260| 2e 68 22 0d 2f 2a 20 23 | 69 6e 63 6c 75 64 65 20 |.h"./* #|include |
|00000270| 22 43 6f 6e 74 72 6f 6c | 73 2e 68 22 20 2a 2f 0d |"Control|s.h" */.|
|00000280| 0d 2f 2a 20 4f 74 68 65 | 72 20 49 6e 74 65 72 66 |./* Othe|r Interf|
|00000290| 61 63 65 20 66 69 6c 65 | 73 20 2a 2f 0d 2f 2a 20 |ace file|s */./* |
|000002a0| 23 69 6e 63 6c 75 64 65 | 20 22 41 70 70 6c 65 54 |#include| "AppleT|
|000002b0| 61 6c 6b 2e 68 22 20 2a | 2f 0d 2f 2a 20 23 69 6e |alk.h" *|/./* #in|
|000002c0| 63 6c 75 64 65 20 22 43 | 75 72 73 6f 72 43 74 6c |clude "C|ursorCtl|
|000002d0| 2e 68 22 20 2a 2f 0d 2f | 2a 20 23 69 6e 63 6c 75 |.h" */./|* #inclu|
|000002e0| 64 65 20 22 44 65 73 6b | 2e 68 22 20 2a 2f 0d 2f |de "Desk|.h" */./|
|000002f0| 2a 20 23 69 6e 63 6c 75 | 64 65 20 22 44 65 73 6b |* #inclu|de "Desk|
|00000300| 42 75 73 2e 68 22 20 2a | 2f 0d 2f 2a 20 23 69 6e |Bus.h" *|/./* #in|
|00000310| 63 6c 75 64 65 20 22 44 | 65 76 69 63 65 73 2e 68 |clude "D|evices.h|
|00000320| 22 20 2a 2f 0d 2f 2a 20 | 23 69 6e 63 6c 75 64 65 |" */./* |#include|
|00000330| 20 22 44 69 61 6c 6f 67 | 73 2e 68 22 20 2a 2f 0d | "Dialog|s.h" */.|
|00000340| 2f 2a 20 23 69 6e 63 6c | 75 64 65 20 22 44 69 73 |/* #incl|ude "Dis|
|00000350| 6b 49 6e 69 74 2e 68 22 | 20 2a 2f 0d 2f 2a 20 23 |kInit.h"| */./* #|
|00000360| 69 6e 63 6c 75 64 65 20 | 22 44 69 73 6b 73 2e 68 |include |"Disks.h|
|00000370| 22 20 2a 2f 0d 2f 2a 20 | 23 69 6e 63 6c 75 64 65 |" */./* |#include|
|00000380| 20 22 45 72 72 4d 67 72 | 2e 68 22 20 2a 2f 0d 2f | "ErrMgr|.h" */./|
|00000390| 2a 20 23 69 6e 63 6c 75 | 64 65 20 22 45 72 72 6f |* #inclu|de "Erro|
|000003a0| 72 73 2e 68 22 20 2a 2f | 0d 2f 2a 20 23 69 6e 63 |rs.h" */|./* #inc|
|000003b0| 6c 75 64 65 20 22 45 76 | 65 6e 74 73 2e 68 22 20 |lude "Ev|ents.h" |
|000003c0| 2a 2f 0d 23 69 6e 63 6c | 75 64 65 20 22 46 69 6c |*/.#incl|ude "Fil|
|000003d0| 65 73 2e 68 22 0d 2f 2a | 20 23 69 6e 63 6c 75 64 |es.h"./*| #includ|
|000003e0| 65 20 22 46 6f 6e 74 73 | 2e 68 22 20 2a 2f 0d 2f |e "Fonts|.h" */./|
|000003f0| 2a 20 23 69 6e 63 6c 75 | 64 65 20 22 47 72 61 66 |* #inclu|de "Graf|
|00000400| 33 44 2e 68 22 20 2a 2f | 0d 2f 2a 20 23 69 6e 63 |3D.h" */|./* #inc|
|00000410| 6c 75 64 65 20 22 4c 69 | 73 74 73 2e 68 22 20 2a |lude "Li|sts.h" *|
|00000420| 2f 0d 23 69 6e 63 6c 75 | 64 65 20 22 4d 65 6d 6f |/.#inclu|de "Memo|
|00000430| 72 79 2e 68 22 0d 2f 2a | 20 23 69 6e 63 6c 75 64 |ry.h"./*| #includ|
|00000440| 65 20 22 4d 65 6e 75 73 | 2e 68 22 20 2a 2f 0d 2f |e "Menus|.h" */./|
|00000450| 2a 20 23 69 6e 63 6c 75 | 64 65 20 22 50 61 63 6b |* #inclu|de "Pack|
|00000460| 61 67 65 73 2e 68 22 20 | 2a 2f 0d 2f 2a 20 23 69 |ages.h" |*/./* #i|
|00000470| 6e 63 6c 75 64 65 20 22 | 50 61 6c 65 74 74 65 2e |nclude "|Palette.|
|00000480| 68 22 20 2a 2f 0d 2f 2a | 20 23 69 6e 63 6c 75 64 |h" */./*| #includ|
|00000490| 65 20 22 50 65 72 66 2e | 68 22 20 2a 2f 0d 2f 2a |e "Perf.|h" */./*|
|000004a0| 20 23 69 6e 63 6c 75 64 | 65 20 22 50 69 63 6b 65 | #includ|e "Picke|
|000004b0| 72 2e 68 22 20 2a 2f 0d | 2f 2a 20 23 69 6e 63 6c |r.h" */.|/* #incl|
|000004c0| 75 64 65 20 22 50 72 69 | 6e 74 69 6e 67 2e 68 22 |ude "Pri|nting.h"|
|000004d0| 20 2a 2f 0d 2f 2a 20 23 | 69 6e 63 6c 75 64 65 20 | */./* #|include |
|000004e0| 22 52 65 74 72 61 63 65 | 2e 68 22 20 2a 2f 0d 2f |"Retrace|.h" */./|
|000004f0| 2a 20 23 69 6e 63 6c 75 | 64 65 20 22 52 4f 4d 44 |* #inclu|de "ROMD|
|00000500| 65 66 73 2e 68 22 20 2a | 2f 0d 2f 2a 20 23 69 6e |efs.h" *|/./* #in|
|00000510| 63 6c 75 64 65 20 22 53 | 41 4e 45 2e 68 22 20 2a |clude "S|ANE.h" *|
|00000520| 2f 0d 23 69 6e 63 6c 75 | 64 65 20 22 53 63 72 61 |/.#inclu|de "Scra|
|00000530| 70 2e 68 22 0d 2f 2a 20 | 23 69 6e 63 6c 75 64 65 |p.h"./* |#include|
|00000540| 20 22 53 63 72 69 70 74 | 2e 68 22 20 2a 2f 0d 2f | "Script|.h" */./|
|00000550| 2a 20 23 69 6e 63 6c 75 | 64 65 20 22 53 43 53 49 |* #inclu|de "SCSI|
|00000560| 2e 68 22 20 2a 2f 0d 2f | 2a 20 23 69 6e 63 6c 75 |.h" */./|* #inclu|
|00000570| 64 65 20 22 53 65 67 4c | 6f 61 64 2e 68 22 20 2a |de "SegL|oad.h" *|
|00000580| 2f 0d 2f 2a 20 23 69 6e | 63 6c 75 64 65 20 22 53 |/./* #in|clude "S|
|00000590| 65 72 69 61 6c 2e 68 22 | 20 2a 2f 0d 2f 2a 20 23 |erial.h"| */./* #|
|000005a0| 69 6e 63 6c 75 64 65 20 | 22 53 6c 6f 74 73 2e 68 |include |"Slots.h|
|000005b0| 22 20 2a 2f 0d 2f 2a 20 | 23 69 6e 63 6c 75 64 65 |" */./* |#include|
|000005c0| 20 22 53 6f 75 6e 64 2e | 68 22 20 2a 2f 0d 2f 2a | "Sound.|h" */./*|
|000005d0| 20 23 69 6e 63 6c 75 64 | 65 20 22 53 74 61 72 74 | #includ|e "Start|
|000005e0| 2e 68 22 20 2a 2f 0d 2f | 2a 20 23 69 6e 63 6c 75 |.h" */./|* #inclu|
|000005f0| 64 65 20 22 53 74 72 69 | 6e 67 73 2e 68 22 20 2a |de "Stri|ngs.h" *|
|00000600| 2f 0d 2f 2a 20 23 69 6e | 63 6c 75 64 65 20 22 54 |/./* #in|clude "T|
|00000610| 69 6d 65 2e 68 22 20 2a | 2f 0d 2f 2a 20 23 69 6e |ime.h" *|/./* #in|
|00000620| 63 6c 75 64 65 20 22 54 | 72 61 70 73 2e 68 22 20 |clude "T|raps.h" |
|00000630| 2a 2f 0d 2f 2a 20 23 69 | 6e 63 6c 75 64 65 20 22 |*/./* #i|nclude "|
|00000640| 56 61 6c 75 65 73 2e 68 | 22 20 2a 2f 0d 2f 2a 20 |Values.h|" */./* |
|00000650| 23 69 6e 63 6c 75 64 65 | 20 22 56 61 72 41 72 67 |#include| "VarArg|
|00000660| 73 2e 68 22 20 2a 2f 0d | 2f 2a 20 23 69 6e 63 6c |s.h" */.|/* #incl|
|00000670| 75 64 65 20 22 56 69 64 | 65 6f 2e 68 22 20 2a 2f |ude "Vid|eo.h" */|
|00000680| 0d 0d 2f 2a 20 41 70 70 | 6c 69 63 61 74 69 6f 6e |../* App|lication|
|00000690| 2d 73 70 65 63 69 66 69 | 63 20 49 6e 63 6c 75 64 |-specifi|c Includ|
|000006a0| 65 20 66 69 6c 65 73 20 | 2a 2f 0d 23 69 6e 63 6c |e files |*/.#incl|
|000006b0| 75 64 65 20 22 3a 3a 54 | 69 66 66 4c 69 62 72 61 |ude "::T|iffLibra|
|000006c0| 72 79 3a 54 49 46 46 4c | 69 62 2e 68 22 0d 23 69 |ry:TIFFL|ib.h".#i|
|000006d0| 6e 63 6c 75 64 65 20 22 | 73 61 6d 70 6c 65 2e 68 |nclude "|sample.h|
|000006e0| 22 0d 23 69 6e 63 6c 75 | 64 65 20 22 6d 65 73 73 |".#inclu|de "mess|
|000006f0| 61 67 65 73 2e 68 22 0d | 0d 23 64 65 66 69 6e 65 |ages.h".|.#define|
|00000700| 20 4d 41 58 43 4f 50 59 | 42 59 54 45 53 20 28 33 | MAXCOPY|BYTES (3|
|00000710| 20 2a 20 31 30 32 34 29 | 0d 0d 2f 2a 0d 20 2a 20 | * 1024)|../*. * |
|00000720| 43 6c 69 70 50 69 63 74 | 54 6f 4f 66 66 53 63 72 |ClipPict|ToOffScr|
|00000730| 65 65 6e 49 6d 61 67 65 | 0d 20 2a 0d 20 2a 09 67 |eenImage|. *. *.g|
|00000740| 65 74 20 50 49 43 54 20 | 66 72 6f 6d 20 63 6c 69 |et PICT |from cli|
|00000750| 70 62 6f 61 72 64 20 61 | 6e 64 20 77 72 69 74 65 |pboard a|nd write|
|00000760| 20 74 6f 20 61 6e 20 6f | 66 66 73 63 72 65 65 6e | to an o|ffscreen|
|00000770| 20 67 72 61 66 70 6f 72 | 74 2e 0d 20 2a 2f 0d 76 | grafpor|t.. */.v|
|00000780| 6f 69 64 20 43 6c 69 70 | 50 69 63 74 54 6f 49 6d |oid Clip|PictToIm|
|00000790| 61 67 65 28 6d 79 42 69 | 74 4d 61 70 50 74 72 29 |age(myBi|tMapPtr)|
|000007a0| 0d 42 69 74 4d 61 70 20 | 2a 6d 79 42 69 74 4d 61 |.BitMap |*myBitMa|
|000007b0| 70 50 74 72 3b 0d 7b 0d | 09 42 69 74 4d 61 70 09 |pPtr;.{.|.BitMap.|
|000007c0| 09 74 65 6d 70 4d 61 70 | 3b 0d 09 47 72 61 66 50 |.tempMap|;..GrafP|
|000007d0| 74 72 09 09 6e 65 77 50 | 6f 72 74 2c 20 6f 6c 64 |tr..newP|ort, old|
|000007e0| 50 6f 72 74 3b 0d 09 52 | 65 63 74 09 09 72 65 63 |Port;..R|ect..rec|
|000007f0| 74 3b 0d 09 53 69 7a 65 | 09 09 6d 61 70 53 69 7a |t;..Size|..mapSiz|
|00000800| 65 3b 0d 09 73 68 6f 72 | 74 09 09 72 6f 77 42 79 |e;..shor|t..rowBy|
|00000810| 74 65 73 3b 0d 09 50 69 | 63 48 61 6e 64 6c 65 09 |tes;..Pi|cHandle.|
|00000820| 70 69 63 74 75 72 65 48 | 61 6e 64 6c 65 3b 0d 09 |pictureH|andle;..|
|00000830| 4f 53 45 72 72 09 09 65 | 72 72 6f 72 3b 0d 09 6c |OSErr..e|rror;..l|
|00000840| 6f 6e 67 09 09 6f 66 66 | 73 65 74 3b 0d 0d 09 69 |ong..off|set;...i|
|00000850| 66 20 28 6d 79 42 69 74 | 4d 61 70 50 74 72 2d 3e |f (myBit|MapPtr->|
|00000860| 62 61 73 65 41 64 64 72 | 20 3d 3d 20 6e 69 6c 29 |baseAddr| == nil)|
|00000870| 0d 09 09 4d 79 44 69 73 | 70 6f 73 50 74 72 28 26 |...MyDis|posPtr(&|
|00000880| 6d 79 42 69 74 4d 61 70 | 50 74 72 2d 3e 62 61 73 |myBitMap|Ptr->bas|
|00000890| 65 41 64 64 72 29 3b 09 | 0d 09 0d 09 2f 2a 20 67 |eAddr);.|..../* g|
|000008a0| 65 74 20 70 69 63 74 75 | 72 65 20 66 72 6f 6d 20 |et pictu|re from |
|000008b0| 63 6c 69 70 62 6f 61 72 | 64 20 2a 2f 0d 09 69 66 |clipboar|d */..if|
|000008c0| 20 28 28 70 69 63 74 75 | 72 65 48 61 6e 64 6c 65 | ((pictu|reHandle|
|000008d0| 20 3d 20 4d 79 4e 65 77 | 48 61 6e 64 6c 65 28 30 | = MyNew|Handle(0|
|000008e0| 4c 29 29 20 3d 3d 20 6e | 69 6c 29 09 2f 2a 20 67 |L)) == n|il)./* g|
|000008f0| 65 74 20 6d 69 6e 69 6d | 75 6d 20 73 69 7a 65 20 |et minim|um size |
|00000900| 68 61 6e 64 6c 65 20 2a | 2f 0d 09 09 72 65 74 75 |handle *|/...retu|
|00000910| 72 6e 3b 0d 09 69 66 20 | 28 47 65 74 53 63 72 61 |rn;..if |(GetScra|
|00000920| 70 28 70 69 63 74 75 72 | 65 48 61 6e 64 6c 65 2c |p(pictur|eHandle,|
|00000930| 20 27 50 49 43 54 27 2c | 20 26 6f 66 66 73 65 74 | 'PICT',| &offset|
|00000940| 29 20 3c 20 30 29 20 7b | 0d 09 09 2f 2a 20 6e 6f |) < 0) {|.../* no|
|00000950| 74 69 66 79 20 75 73 65 | 72 20 74 68 61 74 20 74 |tify use|r that t|
|00000960| 68 65 72 65 20 77 61 73 | 20 6e 6f 74 68 69 6e 67 |here was| nothing|
|00000970| 20 74 6f 20 70 61 73 74 | 65 20 2a 2f 0d 09 09 45 | to past|e */...E|
|00000980| 72 72 6f 72 4d 65 73 73 | 61 67 65 28 42 41 44 43 |rrorMess|age(BADC|
|00000990| 4c 49 50 29 3b 0d 09 09 | 72 65 74 75 72 6e 3b 0d |LIP);...|return;.|
|000009a0| 09 7d 0d 09 0d 09 2f 2a | 20 67 65 74 20 70 69 63 |.}..../*| get pic|
|000009b0| 74 75 72 65 73 20 72 65 | 63 74 20 61 6e 64 20 6f |tures re|ct and o|
|000009c0| 66 66 73 65 74 20 74 6f | 20 67 6c 6f 62 61 6c 20 |ffset to| global |
|000009d0| 63 6f 6f 72 64 69 6e 61 | 74 65 73 20 28 6f 72 69 |coordina|tes (ori|
|000009e0| 67 69 6e 20 30 2c 30 29 | 20 2a 2f 0d 09 72 65 63 |gin 0,0)| */..rec|
|000009f0| 74 20 3d 20 28 2a 2a 70 | 69 63 74 75 72 65 48 61 |t = (**p|ictureHa|
|00000a00| 6e 64 6c 65 29 2e 70 69 | 63 46 72 61 6d 65 3b 0d |ndle).pi|cFrame;.|
|00000a10| 09 4f 66 66 73 65 74 52 | 65 63 74 28 26 72 65 63 |.OffsetR|ect(&rec|
|00000a20| 74 2c 20 2d 28 72 65 63 | 74 2e 6c 65 66 74 29 2c |t, -(rec|t.left),|
|00000a30| 20 2d 28 72 65 63 74 2e | 74 6f 70 29 29 3b 0d 0d | -(rect.|top));..|
|00000a40| 09 2f 2a 20 73 65 74 20 | 72 6f 77 62 79 74 65 73 |./* set |rowbytes|
|00000a50| 2c 20 61 6e 64 20 62 69 | 74 20 6d 61 70 20 73 69 |, and bi|t map si|
|00000a60| 7a 65 20 2a 2f 0d 09 72 | 6f 77 42 79 74 65 73 20 |ze */..r|owBytes |
|00000a70| 3d 20 28 28 28 72 65 63 | 74 2e 72 69 67 68 74 20 |= (((rec|t.right |
|00000a80| 2d 20 72 65 63 74 2e 6c | 65 66 74 20 2d 20 31 29 |- rect.l|eft - 1)|
|00000a90| 20 2f 20 28 32 20 2a 20 | 38 29 29 20 2b 20 31 29 | / (2 * |8)) + 1)|
|00000aa0| 20 2a 20 32 3b 0d 09 6d | 61 70 53 69 7a 65 20 3d | * 2;..m|apSize =|
|00000ab0| 20 28 72 65 63 74 2e 62 | 6f 74 74 6f 6d 20 2d 20 | (rect.b|ottom - |
|00000ac0| 72 65 63 74 2e 74 6f 70 | 29 20 2a 20 72 6f 77 42 |rect.top|) * rowB|
|00000ad0| 79 74 65 73 3b 0d 09 0d | 09 2f 2a 20 73 65 74 20 |ytes;...|./* set |
|00000ae0| 75 70 20 61 20 62 69 74 | 20 6d 61 70 20 2a 2f 0d |up a bit| map */.|
|00000af0| 09 74 65 6d 70 4d 61 70 | 2e 62 6f 75 6e 64 73 20 |.tempMap|.bounds |
|00000b00| 3d 20 72 65 63 74 3b 0d | 09 74 65 6d 70 4d 61 70 |= rect;.|.tempMap|
|00000b10| 2e 72 6f 77 42 79 74 65 | 73 20 3d 20 72 6f 77 42 |.rowByte|s = rowB|
|00000b20| 79 74 65 73 3b 0d 09 69 | 66 20 28 28 74 65 6d 70 |ytes;..i|f ((temp|
|00000b30| 4d 61 70 2e 62 61 73 65 | 41 64 64 72 20 3d 20 4d |Map.base|Addr = M|
|00000b40| 79 4e 65 77 50 74 72 28 | 6d 61 70 53 69 7a 65 29 |yNewPtr(|mapSize)|
|00000b50| 29 20 3d 3d 20 6e 69 6c | 29 20 7b 0d 09 09 2f 2a |) == nil|) {.../*|
|00000b60| 20 6e 6f 74 69 66 79 20 | 75 73 65 72 20 74 68 61 | notify |user tha|
|00000b70| 74 20 74 68 65 72 65 20 | 77 61 73 20 61 20 6d 65 |t there |was a me|
|00000b80| 6d 6f 72 79 20 65 72 72 | 6f 72 20 2a 2f 0d 09 09 |mory err|or */...|
|00000b90| 44 69 73 70 6f 73 48 61 | 6e 64 6c 65 28 70 69 63 |DisposHa|ndle(pic|
|00000ba0| 74 75 72 65 48 61 6e 64 | 6c 65 29 3b 0d 09 09 72 |tureHand|le);...r|
|00000bb0| 65 74 75 72 6e 3b 0d 09 | 7d 0d 0d 09 2f 2a 20 73 |eturn;..|}.../* s|
|00000bc0| 65 74 20 75 70 20 61 20 | 6e 65 77 20 67 72 61 66 |et up a |new graf|
|00000bd0| 50 6f 72 74 20 74 6f 20 | 75 73 65 20 61 62 6f 76 |Port to |use abov|
|00000be0| 65 20 62 69 74 6d 61 70 | 20 2a 2f 0d 09 69 66 20 |e bitmap| */..if |
|00000bf0| 28 28 6e 65 77 50 6f 72 | 74 20 3d 20 4d 79 4e 65 |((newPor|t = MyNe|
|00000c00| 77 50 74 72 28 28 53 69 | 7a 65 29 73 69 7a 65 6f |wPtr((Si|ze)sizeo|
|00000c10| 66 28 47 72 61 66 50 6f | 72 74 29 29 29 20 3d 3d |f(GrafPo|rt))) ==|
|00000c20| 20 6e 69 6c 29 20 7b 0d | 09 09 2f 2a 20 6e 6f 74 | nil) {.|../* not|
|00000c30| 69 66 79 20 75 73 65 72 | 20 74 68 61 74 20 74 68 |ify user| that th|
|00000c40| 65 72 65 20 77 61 73 20 | 61 20 6d 65 6d 6f 72 79 |ere was |a memory|
|00000c50| 20 65 72 72 6f 72 20 2a | 2f 0d 09 09 44 69 73 70 | error *|/...Disp|
|00000c60| 6f 73 48 61 6e 64 6c 65 | 28 70 69 63 74 75 72 65 |osHandle|(picture|
|00000c70| 48 61 6e 64 6c 65 29 3b | 0d 09 09 4d 79 44 69 73 |Handle);|...MyDis|
|00000c80| 70 6f 73 50 74 72 28 74 | 65 6d 70 4d 61 70 2e 62 |posPtr(t|empMap.b|
|00000c90| 61 73 65 41 64 64 72 29 | 3b 0d 09 09 72 65 74 75 |aseAddr)|;...retu|
|00000ca0| 72 6e 3b 0d 09 7d 0d 09 | 47 65 74 50 6f 72 74 28 |rn;..}..|GetPort(|
|00000cb0| 26 6f 6c 64 50 6f 72 74 | 29 3b 09 09 09 09 09 2f |&oldPort|);...../|
|00000cc0| 2a 20 72 65 6d 65 6d 62 | 65 72 20 74 68 65 20 70 |* rememb|er the p|
|00000cd0| 72 65 76 69 6f 75 73 20 | 70 6f 72 74 20 2a 2f 0d |revious |port */.|
|00000ce0| 09 4f 70 65 6e 50 6f 72 | 74 28 6e 65 77 50 6f 72 |.OpenPor|t(newPor|
|00000cf0| 74 29 3b 09 09 09 09 09 | 2f 2a 20 69 6e 69 74 69 |t);.....|/* initi|
|00000d00| 61 6c 69 7a 65 20 6e 65 | 77 50 6f 72 74 20 2a 2f |alize ne|wPort */|
|00000d10| 0d 09 53 65 74 50 6f 72 | 74 28 6e 65 77 50 6f 72 |..SetPor|t(newPor|
|00000d20| 74 29 3b 09 09 09 09 09 | 2f 2a 20 6d 61 6b 65 20 |t);.....|/* make |
|00000d30| 63 75 72 72 65 6e 74 20 | 70 6f 72 74 20 6f 75 72 |current |port our|
|00000d40| 20 6f 77 6e 20 2a 2f 0d | 09 53 65 74 50 6f 72 74 | own */.|.SetPort|
|00000d50| 42 69 74 73 28 26 74 65 | 6d 70 4d 61 70 29 3b 09 |Bits(&te|mpMap);.|
|00000d60| 09 09 09 2f 2a 20 72 65 | 70 6c 61 63 65 20 73 63 |.../* re|place sc|
|00000d70| 72 65 65 6e 62 69 74 6d | 61 70 20 2a 2f 0d 09 50 |reenbitm|ap */..P|
|00000d80| 6f 72 74 53 69 7a 65 28 | 72 65 63 74 2e 72 69 67 |ortSize(|rect.rig|
|00000d90| 68 74 2c 20 72 65 63 74 | 2e 62 6f 74 74 6f 6d 29 |ht, rect|.bottom)|
|00000da0| 3b 09 09 09 2f 2a 20 73 | 65 74 20 6e 65 77 50 6f |;.../* s|et newPo|
|00000db0| 72 74 27 73 20 70 6f 72 | 74 52 65 63 74 20 2a 2f |rt's por|tRect */|
|00000dc0| 0d 09 52 65 63 74 52 67 | 6e 28 6e 65 77 50 6f 72 |..RectRg|n(newPor|
|00000dd0| 74 2d 3e 76 69 73 52 67 | 6e 2c 20 26 74 65 6d 70 |t->visRg|n, &temp|
|00000de0| 4d 61 70 2e 62 6f 75 6e | 64 73 29 3b 09 2f 2a 20 |Map.boun|ds);./* |
|00000df0| 73 65 74 20 76 69 73 52 | 67 6e 20 74 6f 20 62 69 |set visR|gn to bi|
|00000e00| 74 6d 61 70 27 73 20 62 | 6f 75 6e 64 73 20 72 65 |tmap's b|ounds re|
|00000e10| 63 74 20 2a 2f 0d 09 0d | 09 2f 2a 20 64 72 61 77 |ct */...|./* draw|
|00000e20| 20 63 6c 69 70 62 6f 61 | 72 64 20 70 69 63 74 75 | clipboa|rd pictu|
|00000e30| 72 65 20 69 6e 74 6f 20 | 6f 75 72 20 6e 65 77 20 |re into |our new |
|00000e40| 70 6f 72 74 20 2a 2f 0d | 09 44 72 61 77 50 69 63 |port */.|.DrawPic|
|00000e50| 74 75 72 65 28 70 69 63 | 74 75 72 65 48 61 6e 64 |ture(pic|tureHand|
|00000e60| 6c 65 2c 20 26 72 65 63 | 74 29 3b 0d 09 44 69 73 |le, &rec|t);..Dis|
|00000e70| 70 6f 73 48 61 6e 64 6c | 65 28 70 69 63 74 75 72 |posHandl|e(pictur|
|00000e80| 65 48 61 6e 64 6c 65 29 | 3b 0d 09 0d 09 2f 2a 20 |eHandle)|;..../* |
|00000e90| 72 65 73 74 6f 72 65 20 | 70 72 65 76 69 6f 75 73 |restore |previous|
|00000ea0| 20 70 6f 72 74 20 2a 2f | 0d 09 53 65 74 50 6f 72 | port */|..SetPor|
|00000eb0| 74 28 6f 6c 64 50 6f 72 | 74 29 3b 0d 09 44 69 73 |t(oldPor|t);..Dis|
|00000ec0| 70 6f 73 50 74 72 28 6e | 65 77 50 6f 72 74 29 3b |posPtr(n|ewPort);|
|00000ed0| 0d 09 0d 09 2a 6d 79 42 | 69 74 4d 61 70 50 74 72 |....*myB|itMapPtr|
|00000ee0| 20 3d 20 74 65 6d 70 4d | 61 70 3b 0d 09 44 69 73 | = tempM|ap;..Dis|
|00000ef0| 70 6c 61 79 49 6d 61 67 | 65 28 46 72 6f 6e 74 57 |playImag|e(FrontW|
|00000f00| 69 6e 64 6f 77 28 29 2c | 20 6d 79 42 69 74 4d 61 |indow(),| myBitMa|
|00000f10| 70 50 74 72 29 3b 0d 09 | 72 65 74 75 72 6e 3b 0d |pPtr);..|return;.|
|00000f20| 7d 0d 09 0d 76 6f 69 64 | 20 49 6d 61 67 65 54 6f |}...void| ImageTo|
|00000f30| 43 6c 69 70 50 69 63 74 | 28 6d 79 42 69 74 4d 61 |ClipPict|(myBitMa|
|00000f40| 70 50 74 72 29 0d 42 69 | 74 4d 61 70 09 2a 6d 79 |pPtr).Bi|tMap.*my|
|00000f50| 42 69 74 4d 61 70 50 74 | 72 3b 0d 7b 0d 09 50 69 |BitMapPt|r;.{..Pi|
|00000f60| 63 48 61 6e 64 6c 65 09 | 70 69 63 74 75 72 65 48 |cHandle.|pictureH|
|00000f70| 61 6e 64 6c 65 3b 0d 09 | 47 72 61 66 50 74 72 09 |andle;..|GrafPtr.|
|00000f80| 09 6e 65 77 50 6f 72 74 | 2c 20 6f 6c 64 50 6f 72 |.newPort|, oldPor|
|00000f90| 74 3b 0d 09 52 65 63 74 | 09 09 72 65 63 74 2c 20 |t;..Rect|..rect, |
|00000fa0| 63 6f 70 79 52 65 63 74 | 3b 0d 09 53 69 7a 65 09 |copyRect|;..Size.|
|00000fb0| 09 70 69 63 53 69 7a 65 | 3b 0d 09 49 6e 74 33 32 |.picSize|;..Int32|
|00000fc0| 09 09 6d 61 78 43 6f 70 | 79 52 6f 77 73 3b 0d 09 |..maxCop|yRows;..|
|00000fd0| 0d 09 2f 2a 20 73 65 74 | 20 75 70 20 61 20 6e 65 |../* set| up a ne|
|00000fe0| 77 20 67 72 61 66 50 6f | 72 74 20 74 6f 20 63 72 |w grafPo|rt to cr|
|00000ff0| 65 61 74 65 20 61 20 70 | 69 63 74 75 72 65 20 77 |eate a p|icture w|
|00001000| 69 74 68 20 2a 2f 0d 09 | 69 66 20 28 28 6e 65 77 |ith */..|if ((new|
|00001010| 50 6f 72 74 20 3d 20 4d | 79 4e 65 77 50 74 72 28 |Port = M|yNewPtr(|
|00001020| 28 53 69 7a 65 29 73 69 | 7a 65 6f 66 28 47 72 61 |(Size)si|zeof(Gra|
|00001030| 66 50 6f 72 74 29 29 29 | 20 3d 3d 20 6e 69 6c 29 |fPort)))| == nil)|
|00001040| 0d 09 09 72 65 74 75 72 | 6e 3b 0d 09 47 65 74 50 |...retur|n;..GetP|
|00001050| 6f 72 74 28 26 6f 6c 64 | 50 6f 72 74 29 3b 09 09 |ort(&old|Port);..|
|00001060| 09 09 09 2f 2a 20 72 65 | 6d 65 6d 62 65 72 20 74 |.../* re|member t|
|00001070| 68 65 20 70 72 65 76 69 | 6f 75 73 20 70 6f 72 74 |he previ|ous port|
|00001080| 20 2a 2f 0d 09 4f 70 65 | 6e 50 6f 72 74 28 6e 65 | */..Ope|nPort(ne|
|00001090| 77 50 6f 72 74 29 3b 09 | 09 09 09 09 2f 2a 20 69 |wPort);.|..../* i|
|000010a0| 6e 69 74 69 61 6c 69 7a | 65 20 6e 65 77 50 6f 72 |nitializ|e newPor|
|000010b0| 74 20 2a 2f 0d 09 53 65 | 74 50 6f 72 74 28 6e 65 |t */..Se|tPort(ne|
|000010c0| 77 50 6f 72 74 29 3b 09 | 09 09 09 09 2f 2a 20 6d |wPort);.|..../* m|
|000010d0| 61 6b 65 20 63 75 72 72 | 65 6e 74 20 70 6f 72 74 |ake curr|ent port|
|000010e0| 20 6f 75 72 20 6f 77 6e | 20 2a 2f 0d 09 53 65 74 | our own| */..Set|
|000010f0| 50 6f 72 74 42 69 74 73 | 28 6d 79 42 69 74 4d 61 |PortBits|(myBitMa|
|00001100| 70 50 74 72 29 3b 09 09 | 09 2f 2a 20 72 65 70 6c |pPtr);..|./* repl|
|00001110| 61 63 65 20 73 63 72 65 | 65 6e 62 69 74 6d 61 70 |ace scre|enbitmap|
|00001120| 20 2a 2f 0d 09 72 65 63 | 74 20 3d 20 6d 79 42 69 | */..rec|t = myBi|
|00001130| 74 4d 61 70 50 74 72 2d | 3e 62 6f 75 6e 64 73 3b |tMapPtr-|>bounds;|
|00001140| 0d 09 50 6f 72 74 53 69 | 7a 65 28 72 65 63 74 2e |..PortSi|ze(rect.|
|00001150| 72 69 67 68 74 20 2d 20 | 72 65 63 74 2e 6c 65 66 |right - |rect.lef|
|00001160| 74 2c 20 72 65 63 74 2e | 62 6f 74 74 6f 6d 20 2d |t, rect.|bottom -|
|00001170| 20 72 65 63 74 2e 74 6f | 70 29 3b 0d 09 52 65 63 | rect.to|p);..Rec|
|00001180| 74 52 67 6e 28 6e 65 77 | 50 6f 72 74 2d 3e 76 69 |tRgn(new|Port->vi|
|00001190| 73 52 67 6e 2c 20 26 72 | 65 63 74 29 3b 09 2f 2a |sRgn, &r|ect);./*|
|000011a0| 20 73 65 74 20 76 69 73 | 52 67 6e 20 74 6f 20 62 | set vis|Rgn to b|
|000011b0| 6f 75 6e 64 73 20 2a 2f | 0d 0d 09 2f 2a 20 63 72 |ounds */|.../* cr|
|000011c0| 65 61 74 20 70 69 63 74 | 20 6f 66 20 6f 75 72 20 |eat pict| of our |
|000011d0| 69 6d 61 67 65 20 2a 2f | 0d 09 70 69 63 74 75 72 |image */|..pictur|
|000011e0| 65 48 61 6e 64 6c 65 20 | 3d 20 4f 70 65 6e 50 69 |eHandle |= OpenPi|
|000011f0| 63 74 75 72 65 28 26 72 | 65 63 74 29 3b 0d 0d 09 |cture(&r|ect);...|
|00001200| 6d 61 78 43 6f 70 79 52 | 6f 77 73 20 3d 20 4d 41 |maxCopyR|ows = MA|
|00001210| 58 43 4f 50 59 42 59 54 | 45 53 20 2f 20 6d 79 42 |XCOPYBYT|ES / myB|
|00001220| 69 74 4d 61 70 50 74 72 | 2d 3e 72 6f 77 42 79 74 |itMapPtr|->rowByt|
|00001230| 65 73 3b 0d 09 63 6f 70 | 79 52 65 63 74 20 3d 20 |es;..cop|yRect = |
|00001240| 72 65 63 74 3b 0d 09 77 | 68 69 6c 65 20 28 63 6f |rect;..w|hile (co|
|00001250| 70 79 52 65 63 74 2e 74 | 6f 70 20 3c 20 72 65 63 |pyRect.t|op < rec|
|00001260| 74 2e 62 6f 74 74 6f 6d | 29 20 7b 0d 09 09 63 6f |t.bottom|) {...co|
|00001270| 70 79 52 65 63 74 2e 62 | 6f 74 74 6f 6d 20 3d 20 |pyRect.b|ottom = |
|00001280| 4d 49 4e 28 63 6f 70 79 | 52 65 63 74 2e 74 6f 70 |MIN(copy|Rect.top|
|00001290| 20 2b 20 6d 61 78 43 6f | 70 79 52 6f 77 73 2c 20 | + maxCo|pyRows, |
|000012a0| 72 65 63 74 2e 62 6f 74 | 74 6f 6d 29 3b 0d 09 09 |rect.bot|tom);...|
|000012b0| 43 6f 70 79 42 69 74 73 | 28 26 6e 65 77 50 6f 72 |CopyBits|(&newPor|
|000012c0| 74 2d 3e 70 6f 72 74 42 | 69 74 73 2c 20 26 6e 65 |t->portB|its, &ne|
|000012d0| 77 50 6f 72 74 2d 3e 70 | 6f 72 74 42 69 74 73 2c |wPort->p|ortBits,|
|000012e0| 0d 09 09 09 09 20 26 63 | 6f 70 79 52 65 63 74 2c |..... &c|opyRect,|
|000012f0| 20 26 63 6f 70 79 52 65 | 63 74 2c 20 73 72 63 43 | &copyRe|ct, srcC|
|00001300| 6f 70 79 2c 20 6e 69 6c | 29 3b 0d 09 09 63 6f 70 |opy, nil|);...cop|
|00001310| 79 52 65 63 74 2e 74 6f | 70 20 3d 20 63 6f 70 79 |yRect.to|p = copy|
|00001320| 52 65 63 74 2e 62 6f 74 | 74 6f 6d 3b 0d 09 7d 0d |Rect.bot|tom;..}.|
|00001330| 09 0d 09 43 6c 6f 73 65 | 50 69 63 74 75 72 65 28 |...Close|Picture(|
|00001340| 29 3b 0d 0d 09 2f 2a 20 | 70 75 74 20 69 74 20 69 |);.../* |put it i|
|00001350| 6e 20 74 68 65 20 73 63 | 72 61 70 20 2a 2f 0d 09 |n the sc|rap */..|
|00001360| 4d 6f 76 65 48 48 69 28 | 70 69 63 74 75 72 65 48 |MoveHHi(|pictureH|
|00001370| 61 6e 64 6c 65 29 3b 0d | 09 48 4c 6f 63 6b 28 70 |andle);.|.HLock(p|
|00001380| 69 63 74 75 72 65 48 61 | 6e 64 6c 65 29 3b 0d 09 |ictureHa|ndle);..|
|00001390| 70 69 63 53 69 7a 65 20 | 3d 20 47 65 74 48 61 6e |picSize |= GetHan|
|000013a0| 64 6c 65 53 69 7a 65 28 | 70 69 63 74 75 72 65 48 |dleSize(|pictureH|
|000013b0| 61 6e 64 6c 65 29 3b 0d | 09 69 66 20 28 5a 65 72 |andle);.|.if (Zer|
|000013c0| 6f 53 63 72 61 70 28 29 | 20 3d 3d 20 6e 6f 45 72 |oScrap()| == noEr|
|000013d0| 72 29 0d 09 09 69 66 20 | 28 50 75 74 53 63 72 61 |r)...if |(PutScra|
|000013e0| 70 28 70 69 63 53 69 7a | 65 2c 20 27 50 49 43 54 |p(picSiz|e, 'PICT|
|000013f0| 27 2c 20 26 28 2a 2a 70 | 69 63 74 75 72 65 48 61 |', &(**p|ictureHa|
|00001400| 6e 64 6c 65 29 29 20 21 | 3d 20 6e 6f 45 72 72 29 |ndle)) !|= noErr)|
|00001410| 0d 09 09 09 5a 65 72 6f | 53 63 72 61 70 28 29 3b |....Zero|Scrap();|
|00001420| 0d 09 48 55 6e 6c 6f 63 | 6b 28 70 69 63 74 75 72 |..HUnloc|k(pictur|
|00001430| 65 48 61 6e 64 6c 65 29 | 3b 0d 09 4b 69 6c 6c 50 |eHandle)|;..KillP|
|00001440| 69 63 74 75 72 65 28 70 | 69 63 74 75 72 65 48 61 |icture(p|ictureHa|
|00001450| 6e 64 6c 65 29 3b 0d 09 | 0d 09 2f 2a 20 72 65 73 |ndle);..|../* res|
|00001460| 74 6f 72 65 20 70 72 65 | 76 69 6f 75 73 20 70 6f |tore pre|vious po|
|00001470| 72 74 20 2a 2f 0d 09 53 | 65 74 50 6f 72 74 28 6f |rt */..S|etPort(o|
|00001480| 6c 64 50 6f 72 74 29 3b | 0d 09 44 69 73 70 6f 73 |ldPort);|..Dispos|
|00001490| 50 74 72 28 6e 65 77 50 | 6f 72 74 29 3b 0d 7d 0d |Ptr(newP|ort);.}.|
|000014a0| 0d 76 6f 69 64 20 44 69 | 73 70 6c 61 79 49 6d 61 |.void Di|splayIma|
|000014b0| 67 65 28 6d 79 57 69 6e | 64 6f 77 50 74 72 2c 20 |ge(myWin|dowPtr, |
|000014c0| 6d 79 42 69 74 4d 61 70 | 50 74 72 29 0d 57 69 6e |myBitMap|Ptr).Win|
|000014d0| 64 6f 77 50 74 72 09 6d | 79 57 69 6e 64 6f 77 50 |dowPtr.m|yWindowP|
|000014e0| 74 72 3b 0d 42 69 74 4d | 61 70 09 09 2a 6d 79 42 |tr;.BitM|ap..*myB|
|000014f0| 69 74 4d 61 70 50 74 72 | 3b 0d 7b 0d 09 52 65 63 |itMapPtr|;.{..Rec|
|00001500| 74 09 72 65 63 74 2c 0d | 09 09 09 73 72 63 52 65 |t.rect,.|...srcRe|
|00001510| 63 74 2c 0d 09 09 09 64 | 73 74 52 65 63 74 2c 0d |ct,....d|stRect,.|
|00001520| 09 09 09 73 72 63 52 65 | 63 74 53 74 72 69 70 2c |...srcRe|ctStrip,|
|00001530| 0d 09 09 09 64 73 74 52 | 65 63 74 53 74 72 69 70 |....dstR|ectStrip|
|00001540| 3b 0d 09 49 6e 74 33 32 | 09 6d 61 78 53 72 63 52 |;..Int32|.maxSrcR|
|00001550| 6f 77 73 2c 0d 09 09 09 | 6d 61 78 44 73 74 52 6f |ows,....|maxDstRo|
|00001560| 77 73 2c 0d 09 09 09 73 | 72 63 52 6f 77 73 2c 0d |ws,....s|rcRows,.|
|00001570| 09 09 09 64 73 74 52 6f | 77 73 2c 0d 09 09 09 73 |...dstRo|ws,....s|
|00001580| 72 63 43 6f 6c 73 2c 0d | 09 09 09 64 73 74 43 6f |rcCols,.|...dstCo|
|00001590| 6c 73 2c 0d 09 09 09 73 | 72 63 50 65 72 44 73 74 |ls,....s|rcPerDst|
|000015a0| 2c 0d 09 09 09 64 73 74 | 50 65 72 53 72 63 3b 0d |,....dst|PerSrc;.|
|000015b0| 09 0d 09 45 72 61 73 65 | 52 65 63 74 28 26 6d 79 |...Erase|Rect(&my|
|000015c0| 57 69 6e 64 6f 77 50 74 | 72 2d 3e 70 6f 72 74 52 |WindowPt|r->portR|
|000015d0| 65 63 74 29 3b 0d 09 69 | 66 20 28 6d 79 42 69 74 |ect);..i|f (myBit|
|000015e0| 4d 61 70 50 74 72 2d 3e | 62 61 73 65 41 64 64 72 |MapPtr->|baseAddr|
|000015f0| 20 21 3d 20 6e 69 6c 29 | 20 7b 0d 09 09 2f 2a 20 | != nil)| {.../* |
|00001600| 69 6e 69 74 69 61 6c 69 | 7a 65 20 73 6f 6d 65 20 |initiali|ze some |
|00001610| 76 61 72 69 61 62 6c 65 | 73 20 2a 2f 0d 09 09 73 |variable|s */...s|
|00001620| 72 63 52 65 63 74 20 3d | 20 6d 79 42 69 74 4d 61 |rcRect =| myBitMa|
|00001630| 70 50 74 72 2d 3e 62 6f | 75 6e 64 73 3b 0d 09 09 |pPtr->bo|unds;...|
|00001640| 64 73 74 52 65 63 74 20 | 3d 20 28 71 64 2e 74 68 |dstRect |= (qd.th|
|00001650| 65 50 6f 72 74 29 2d 3e | 70 6f 72 74 52 65 63 74 |ePort)->|portRect|
|00001660| 3b 0d 09 09 73 72 63 52 | 6f 77 73 20 3d 20 73 72 |;...srcR|ows = sr|
|00001670| 63 52 65 63 74 2e 62 6f | 74 74 6f 6d 20 2d 20 73 |cRect.bo|ttom - s|
|00001680| 72 63 52 65 63 74 2e 74 | 6f 70 3b 0d 09 09 64 73 |rcRect.t|op;...ds|
|00001690| 74 52 6f 77 73 20 3d 20 | 64 73 74 52 65 63 74 2e |tRows = |dstRect.|
|000016a0| 62 6f 74 74 6f 6d 20 2d | 20 64 73 74 52 65 63 74 |bottom -| dstRect|
|000016b0| 2e 74 6f 70 3b 0d 09 09 | 73 72 63 43 6f 6c 73 20 |.top;...|srcCols |
|000016c0| 3d 20 73 72 63 52 65 63 | 74 2e 72 69 67 68 74 20 |= srcRec|t.right |
|000016d0| 2d 20 73 72 63 52 65 63 | 74 2e 6c 65 66 74 3b 0d |- srcRec|t.left;.|
|000016e0| 09 09 64 73 74 43 6f 6c | 73 20 3d 20 64 73 74 52 |..dstCol|s = dstR|
|000016f0| 65 63 74 2e 72 69 67 68 | 74 20 2d 20 64 73 74 52 |ect.righ|t - dstR|
|00001700| 65 63 74 2e 6c 65 66 74 | 3b 0d 09 09 0d 09 09 2f |ect.left|;....../|
|00001710| 2a 20 6d 61 78 69 6d 75 | 6d 20 6e 75 6d 62 65 72 |* maximu|m number|
|00001720| 20 6f 66 20 73 6f 75 72 | 63 65 20 69 6d 61 67 65 | of sour|ce image|
|00001730| 20 72 6f 77 73 20 6c 65 | 73 73 20 74 68 61 6e 20 | rows le|ss than |
|00001740| 33 4b 20 6f 66 20 6d 65 | 6d 6f 72 79 20 2a 2f 0d |3K of me|mory */.|
|00001750| 09 09 6d 61 78 53 72 63 | 52 6f 77 73 20 3d 20 4d |..maxSrc|Rows = M|
|00001760| 49 4e 28 73 72 63 52 6f | 77 73 2c 20 28 4d 41 58 |IN(srcRo|ws, (MAX|
|00001770| 43 4f 50 59 42 59 54 45 | 53 20 2f 20 6d 79 42 69 |COPYBYTE|S / myBi|
|00001780| 74 4d 61 70 50 74 72 2d | 3e 72 6f 77 42 79 74 65 |tMapPtr-|>rowByte|
|00001790| 73 29 29 3b 0d 09 09 0d | 09 09 2f 2a 20 63 6f 6d |s));....|../* com|
|000017a0| 70 75 74 65 20 72 61 74 | 69 6f 20 6f 66 20 73 6f |pute rat|io of so|
|000017b0| 75 72 63 65 20 74 6f 20 | 64 65 73 74 69 6e 61 74 |urce to |destinat|
|000017c0| 69 6f 6e 20 2a 2f 0d 09 | 09 69 66 20 28 73 72 63 |ion */..|.if (src|
|000017d0| 52 6f 77 73 20 3e 20 64 | 73 74 52 6f 77 73 29 20 |Rows > d|stRows) |
|000017e0| 7b 0d 09 09 09 73 72 63 | 50 65 72 44 73 74 20 3d |{....src|PerDst =|
|000017f0| 20 28 73 72 63 52 6f 77 | 73 20 2b 20 28 64 73 74 | (srcRow|s + (dst|
|00001800| 52 6f 77 73 20 2d 20 31 | 29 29 20 2f 20 64 73 74 |Rows - 1|)) / dst|
|00001810| 52 6f 77 73 3b 0d 09 09 | 09 6d 61 78 44 73 74 52 |Rows;...|.maxDstR|
|00001820| 6f 77 73 20 3d 20 6d 61 | 78 53 72 63 52 6f 77 73 |ows = ma|xSrcRows|
|00001830| 20 2f 20 73 72 63 50 65 | 72 44 73 74 3b 0d 09 09 | / srcPe|rDst;...|
|00001840| 09 64 73 74 43 6f 6c 73 | 20 3d 20 73 72 63 43 6f |.dstCols| = srcCo|
|00001850| 6c 73 20 2f 20 73 72 63 | 50 65 72 44 73 74 3b 09 |ls / src|PerDst;.|
|00001860| 2f 2a 20 73 61 6d 65 20 | 70 72 6f 70 6f 72 74 69 |/* same |proporti|
|00001870| 6f 6e 73 20 2a 2f 0d 09 | 09 7d 0d 09 09 65 6c 73 |ons */..|.}...els|
|00001880| 65 20 7b 0d 09 09 09 64 | 73 74 50 65 72 53 72 63 |e {....d|stPerSrc|
|00001890| 20 3d 20 64 73 74 52 6f | 77 73 20 2f 20 73 72 63 | = dstRo|ws / src|
|000018a0| 52 6f 77 73 3b 0d 09 09 | 09 6d 61 78 44 73 74 52 |Rows;...|.maxDstR|
|000018b0| 6f 77 73 20 3d 20 6d 61 | 78 53 72 63 52 6f 77 73 |ows = ma|xSrcRows|
|000018c0| 20 2a 20 64 73 74 50 65 | 72 53 72 63 3b 0d 09 09 | * dstPe|rSrc;...|
|000018d0| 09 64 73 74 43 6f 6c 73 | 20 3d 20 73 72 63 43 6f |.dstCols| = srcCo|
|000018e0| 6c 73 20 2a 20 64 73 74 | 50 65 72 53 72 63 3b 09 |ls * dst|PerSrc;.|
|000018f0| 2f 2a 20 73 61 6d 65 20 | 70 72 6f 70 6f 72 74 69 |/* same |proporti|
|00001900| 6f 6e 73 20 2a 2f 0d 09 | 09 7d 0d 09 09 64 73 74 |ons */..|.}...dst|
|00001910| 52 65 63 74 2e 72 69 67 | 68 74 20 3d 20 64 73 74 |Rect.rig|ht = dst|
|00001920| 52 65 63 74 2e 6c 65 66 | 74 20 2b 20 64 73 74 43 |Rect.lef|t + dstC|
|00001930| 6f 6c 73 3b 0d 09 09 0d | 09 09 2f 2a 20 63 6f 70 |ols;....|../* cop|
|00001940| 79 20 6f 6e 65 20 73 74 | 72 69 70 20 61 74 20 61 |y one st|rip at a|
|00001950| 20 74 69 6d 65 20 2a 2f | 0d 09 09 73 72 63 52 65 | time */|...srcRe|
|00001960| 63 74 53 74 72 69 70 20 | 3d 20 73 72 63 52 65 63 |ctStrip |= srcRec|
|00001970| 74 3b 0d 09 09 64 73 74 | 52 65 63 74 53 74 72 69 |t;...dst|RectStri|
|00001980| 70 20 3d 20 64 73 74 52 | 65 63 74 3b 0d 09 09 77 |p = dstR|ect;...w|
|00001990| 68 69 6c 65 20 28 73 72 | 63 52 65 63 74 53 74 72 |hile (sr|cRectStr|
|000019a0| 69 70 2e 74 6f 70 20 3c | 20 73 72 63 52 65 63 74 |ip.top <| srcRect|
|000019b0| 2e 62 6f 74 74 6f 6d 29 | 20 7b 0d 09 09 09 73 72 |.bottom)| {....sr|
|000019c0| 63 52 65 63 74 53 74 72 | 69 70 2e 62 6f 74 74 6f |cRectStr|ip.botto|
|000019d0| 6d 20 3d 20 73 72 63 52 | 65 63 74 53 74 72 69 70 |m = srcR|ectStrip|
|000019e0| 2e 74 6f 70 20 2b 20 6d | 61 78 53 72 63 52 6f 77 |.top + m|axSrcRow|
|000019f0| 73 3b 0d 09 09 09 69 66 | 20 28 73 72 63 52 65 63 |s;....if| (srcRec|
|00001a00| 74 53 74 72 69 70 2e 62 | 6f 74 74 6f 6d 20 3c 3d |tStrip.b|ottom <=|
|00001a10| 20 73 72 63 52 65 63 74 | 2e 62 6f 74 74 6f 6d 29 | srcRect|.bottom)|
|00001a20| 0d 09 09 09 09 64 73 74 | 52 65 63 74 53 74 72 69 |.....dst|RectStri|
|00001a30| 70 2e 62 6f 74 74 6f 6d | 20 3d 20 64 73 74 52 65 |p.bottom| = dstRe|
|00001a40| 63 74 53 74 72 69 70 2e | 74 6f 70 20 2b 20 6d 61 |ctStrip.|top + ma|
|00001a50| 78 44 73 74 52 6f 77 73 | 3b 0d 09 09 09 65 6c 73 |xDstRows|;....els|
|00001a60| 65 20 7b 09 09 09 09 2f | 2a 20 6c 61 73 74 20 73 |e {..../|* last s|
|00001a70| 74 72 69 70 2c 20 63 6f | 70 79 20 77 68 61 74 65 |trip, co|py whate|
|00001a80| 76 65 72 20 69 73 20 6c | 65 66 74 20 2a 2f 0d 09 |ver is l|eft */..|
|00001a90| 09 09 09 73 72 63 52 65 | 63 74 53 74 72 69 70 2e |...srcRe|ctStrip.|
|00001aa0| 62 6f 74 74 6f 6d 20 3d | 20 73 72 63 52 65 63 74 |bottom =| srcRect|
|00001ab0| 2e 62 6f 74 74 6f 6d 3b | 0d 09 09 09 09 69 66 20 |.bottom;|.....if |
|00001ac0| 28 73 72 63 52 6f 77 73 | 20 3e 20 64 73 74 52 6f |(srcRows| > dstRo|
|00001ad0| 77 73 29 0d 09 09 09 09 | 09 64 73 74 52 65 63 74 |ws).....|.dstRect|
|00001ae0| 53 74 72 69 70 2e 62 6f | 74 74 6f 6d 20 3d 0d 09 |Strip.bo|ttom =..|
|00001af0| 09 09 09 09 09 28 73 72 | 63 52 65 63 74 53 74 72 |.....(sr|cRectStr|
|00001b00| 69 70 2e 62 6f 74 74 6f | 6d 20 2d 20 73 72 63 52 |ip.botto|m - srcR|
|00001b10| 65 63 74 53 74 72 69 70 | 2e 74 6f 70 29 20 2f 20 |ectStrip|.top) / |
|00001b20| 73 72 63 50 65 72 44 73 | 74 3b 0d 09 09 09 09 65 |srcPerDs|t;.....e|
|00001b30| 6c 73 65 0d 09 09 09 09 | 09 64 73 74 52 65 63 74 |lse.....|.dstRect|
|00001b40| 53 74 72 69 70 2e 62 6f | 74 74 6f 6d 20 3d 0d 09 |Strip.bo|ttom =..|
|00001b50| 09 09 09 09 09 28 73 72 | 63 52 65 63 74 53 74 72 |.....(sr|cRectStr|
|00001b60| 69 70 2e 62 6f 74 74 6f | 6d 20 2d 20 73 72 63 52 |ip.botto|m - srcR|
|00001b70| 65 63 74 53 74 72 69 70 | 2e 74 6f 70 29 20 2a 20 |ectStrip|.top) * |
|00001b80| 64 73 74 50 65 72 53 72 | 63 3b 0d 09 09 09 7d 0d |dstPerSr|c;....}.|
|00001b90| 09 09 09 43 6f 70 79 42 | 69 74 73 28 6d 79 42 69 |...CopyB|its(myBi|
|00001ba0| 74 4d 61 70 50 74 72 2c | 20 26 28 71 64 2e 74 68 |tMapPtr,| &(qd.th|
|00001bb0| 65 50 6f 72 74 29 2d 3e | 70 6f 72 74 42 69 74 73 |ePort)->|portBits|
|00001bc0| 2c 0d 09 09 09 09 09 20 | 26 73 72 63 52 65 63 74 |,...... |&srcRect|
|00001bd0| 53 74 72 69 70 2c 20 26 | 64 73 74 52 65 63 74 53 |Strip, &|dstRectS|
|00001be0| 74 72 69 70 2c 20 73 72 | 63 43 6f 70 79 2c 20 6e |trip, sr|cCopy, n|
|00001bf0| 69 6c 29 3b 0d 09 09 09 | 73 72 63 52 65 63 74 53 |il);....|srcRectS|
|00001c00| 74 72 69 70 2e 74 6f 70 | 20 3d 20 73 72 63 52 65 |trip.top| = srcRe|
|00001c10| 63 74 53 74 72 69 70 2e | 62 6f 74 74 6f 6d 3b 0d |ctStrip.|bottom;.|
|00001c20| 09 09 09 64 73 74 52 65 | 63 74 53 74 72 69 70 2e |...dstRe|ctStrip.|
|00001c30| 74 6f 70 20 3d 20 64 73 | 74 52 65 63 74 53 74 72 |top = ds|tRectStr|
|00001c40| 69 70 2e 62 6f 74 74 6f | 6d 3b 0d 09 09 7d 0d 09 |ip.botto|m;...}..|
|00001c50| 7d 0d 7d 0d 0d 76 6f 69 | 64 20 43 6c 65 61 72 49 |}.}..voi|d ClearI|
|00001c60| 6d 61 67 65 28 6d 79 42 | 69 74 4d 61 70 50 74 72 |mage(myB|itMapPtr|
|00001c70| 29 0d 42 69 74 4d 61 70 | 09 2a 6d 79 42 69 74 4d |).BitMap|.*myBitM|
|00001c80| 61 70 50 74 72 3b 0d 7b | 0d 09 57 69 6e 64 6f 77 |apPtr;.{|..Window|
|00001c90| 50 74 72 20 74 68 65 41 | 63 74 69 76 65 57 69 6e |Ptr theA|ctiveWin|
|00001ca0| 64 6f 77 3b 0d 09 09 0d | 09 74 68 65 41 63 74 69 |dow;....|.theActi|
|00001cb0| 76 65 57 69 6e 64 6f 77 | 20 3d 20 46 72 6f 6e 74 |veWindow| = Front|
|00001cc0| 57 69 6e 64 6f 77 28 29 | 3b 0d 09 45 72 61 73 65 |Window()|;..Erase|
|00001cd0| 52 65 63 74 28 26 74 68 | 65 41 63 74 69 76 65 57 |Rect(&th|eActiveW|
|00001ce0| 69 6e 64 6f 77 2d 3e 70 | 6f 72 74 52 65 63 74 29 |indow->p|ortRect)|
|00001cf0| 3b 0d 09 4d 79 44 69 73 | 70 6f 73 50 74 72 28 26 |;..MyDis|posPtr(&|
|00001d00| 6d 79 42 69 74 4d 61 70 | 50 74 72 2d 3e 62 61 73 |myBitMap|Ptr->bas|
|00001d10| 65 41 64 64 72 29 3b 0d | 7d 00 00 00 00 00 00 00 |eAddr);.|}.......|
|00001d20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d80| 00 00 01 00 00 00 01 b2 | 00 00 00 b2 00 00 00 52 |........|.......R|
|00001d90| 00 00 00 34 00 00 00 00 | 00 00 00 00 00 00 00 00 |...4....|........|
|00001da0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001db0| 07 69 6d 61 67 65 2e 63 | 02 00 00 00 50 61 72 74 |.image.c|....Part|
|00001dc0| 53 49 54 78 00 00 00 00 | 00 00 00 00 00 01 69 3a |SITx....|......i:|
|00001dd0| 00 00 50 61 72 74 53 49 | 54 78 00 00 00 00 00 00 |..PartSI|Tx......|
|00001de0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001df0| 00 00 a9 80 21 2f 00 00 | 00 00 00 00 02 04 00 00 |....!/..|........|
|00001e00| 00 00 00 00 00 00 00 00 | 00 00 00 c1 25 00 00 00 |........|....%...|
|00001e10| 00 39 08 6d 65 6d 6f 72 | 79 2e 68 00 00 00 00 00 |.9.memor|y.h.....|
|00001e20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e30| 00 00 00 00 00 cd 25 00 | 00 00 00 3a 0d 73 74 61 |......%.|...:.sta|
|00001e40| 6e 64 61 72 64 63 2e 6c | 69 62 00 00 00 00 00 00 |ndardc.l|ib......|
|00001e50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 2b |........|.......+|
|00001e60| 25 00 00 00 00 3d 00 00 | 00 00 00 00 00 00 00 00 |%....=..|........|
|00001e70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e80| 00 00 00 02 00 00 00 00 | 00 48 00 09 4d 6f 6e 61 |........|.H..Mona|
|00001e90| 63 6f 00 00 00 21 00 02 | 02 00 7f ff 01 41 00 02 |co...!..|.....A..|
|00001ea0| 00 03 7f ff 01 42 00 03 | 02 00 7f ff 00 06 00 04 |.....B..|........|
|00001eb0| 00 40 00 0c 01 4e 01 f8 | 00 40 00 0c 01 4e 01 f8 |.@...N..|.@...N..|
|00001ec0| 9d ec 24 59 00 00 06 2b | 00 00 06 2b 00 00 05 9a |..$Y...+|...+....|
|00001ed0| 01 00 00 00 00 5c 00 04 | 00 00 07 04 00 00 07 13 |.....\..|........|
|00001ee0| 0f 43 6c 69 70 50 69 63 | 74 54 6f 49 6d 61 67 65 |.ClipPic|tToImage|
|00001ef0| 00 00 0e a9 00 00 0e b8 | 0f 49 6d 61 67 65 54 6f |........|.ImageTo|
|00001f00| 43 6c 69 70 50 69 63 74 | 00 00 14 26 00 00 14 32 |ClipPict|...&...2|
|00001f10| 0d 44 69 73 70 6c 61 79 | 49 6d 61 67 65 00 00 00 |.Display|Image...|
|00001f20| 1b da 00 00 1b e4 0b 43 | 6c 65 61 72 49 6d 61 67 |.......C|learImag|
|00001f30| 65 00 00 00 01 00 00 00 | 01 b2 00 00 00 b2 00 00 |e.......|........|
|00001f40| 00 52 00 01 65 68 05 84 | 00 00 00 1c 00 52 00 01 |.R..eh..|.....R..|
|00001f50| 45 51 45 44 00 00 00 12 | 4d 50 53 52 00 01 00 1e |EQED....|MPSR....|
|00001f60| 03 eb ff ff 00 00 00 00 | 00 00 00 00 03 ed ff ff |........|........|
|00001f70| 00 00 00 06 00 00 00 00 | 03 ef ff ff 00 00 00 52 |........|.......R|
|00001f80| 00 02 66 7a 00 00 00 00 | 00 00 00 00 00 00 00 00 |..fz....|........|
|00001f90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fe0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ff0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+